var gulp = require('gulp');
var rev = require('gulp-rev');
var proxy = require('http-proxy-middleware');
var connect = require('gulp-connect');//livereload
var log =console.log;
gulp.task('css', function () {
    return gulp.src('src/css/*.css')
        .pipe(rev())
        .pipe(gulp.dest('dist/css'))
        .pipe( rev.manifest() )
        .pipe( gulp.dest( 'rev/css' ) );
})
 
gulp.task('scripts', function () {
    return gulp.src('src/js/*.js')
        .pipe(rev())
        .pipe(gulp.dest('dist/js'))
        .pipe( rev.manifest() )
        .pipe( gulp.dest( 'rev/js' ) );
});
 
var revCollector = require('gulp-rev-collector');
var minifyHTML   = require('gulp-minify-html');
 
gulp.task('rev', function () {
    return gulp.src(['rev/**/*.json', 'templates/**/*.html'])
        .pipe( revCollector({
            replaceReved: true,
            dirReplacements: {
                'css': '/dist/css',
                '/js/': '/dist/js/',
                'cdn/': function(manifest_value) {
                    return '//cdn' + (Math.floor(Math.random() * 9) + 1) + '.' + 'exsample.dot' + '/img/' + manifest_value;
                }
            }
        }) )
        .pipe( minifyHTML({
                empty:true,
                spare:true
            }) )
        .pipe( gulp.dest('dist') );
});

//代理
gulp.task('connect',function(){
    connect.server({
        root: '',
        port: 8011,
        livereload: true,
        middleware: function(connect, opt) {
            return [
                proxy('/yizhiweimen', {
                    target: 'https://wx.yizhiweimeng.com/',
                    changeOrigin: true
                })
            ]
        }
    });
});
log("1111111111111111111111")

gulp.task('add_version',["css","scripts"]);

gulp.task('default',["connect"]);